package publics.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;


@Entity
@Table(name="cash_flow")
public class CashFlow {//现金流量表
	
	private Integer id;//ID
	private Enterprise ent;
	private Boolean chooseTime;//年度还是当期 bool
	private Integer year;//负债表年份
	private Integer monthStart;//起始月份
	private Integer monthEnd;//结束月份
	private Integer type;// 年初余额还是期末余额（1上期，2本期）
	
	private Float operateFlow;//经营活动产生的现金流量
	private Float recSale;//销售商品、提供劳动收到的现金
	private Float recTax;//收到的税费返还
	private Float recOtherOpe;//收到的其他与经营活动有关的现金
	private Float inflowOpe;//现金流入小计1
	private Float payGoods;//购买商品、接受劳务支付的现金
	private Float payEmployee;//支付给职工以及为职工支付的现金
	
	private Float payTax;//支付的各项税费
	private Float payOtherOpe;//支付的其他与经营活动有关的现金
	private Float outflowOpe;//现金流出小计1
	private Float netFlowOpe1;//经营活动产生的现金流量净额1
	private Float investFlow;//投资活动产生的现金流量：
	private Float recDisposalInv;//收回投资所收到的现金
	private Float recReturnInv;//取得投资收益所收到的现金
	private Float recAsset;//处置固定资产、无形资产和其他长期资产所收回的现金净额
	private Float recOtherInv;//收到的其他与投资活动有关的现金
	private Float inflowInv;//现金流入小计2
	private Float payAsset;//购建固定资产、无形资产和其他长期资产所支付的现金
	private Float payInv;//投资所支付的现金
	private Float payOtherInv;//支付的其他与投资活动有关的现金
	private Float outflowInv;//现金流出小计2
	private Float netFlowInv;//投资活动产生的现金流量净额
	private Float financeFlow;//筹资活动产生的现金流量
	private Float recInvest;//吸收投资所收到的现金
	private Float recBorrow;//借款所收到的现金
	private Float recOtherFin;//收到的其他与筹资活动有关的现金
	private Float inflowFin;//现金流入小计3
	private Float payBorrow;//偿还债务所支付的现金
	private Float payProfit;//分配股利、利润或偿付利息所支付的现金
	private Float payOtherFin;//支付的其他与筹资活动有关的现金
	private Float outflowFin;//现金流出小计3
	private Float netFlowFin;//筹资活动产生的现金流量净额
	private Float echangeAffect;//汇率变动对现金的影响
	private Float netIncrease1;//现金及现金等价物净增加额1
	private Float profitFlow;//将净利润调节为经营活动现金流量：
	private Float netProfit;//净利润
	private Float assetImpair;//计提的资产减值准备
	private Float depreciationAsset;//固定资产折旧
	private Float amortizationIntangible;//无形资产摊销
	private Float amortizationLong;//长期待摊费用摊销
	private Float assetLose;//处置固定资产、无形资产和其他长期资产的损失（减：收益）
	private Float disposalLose;//固定资产报废损失
	private Float changeLose;//公允价值变动损失
	private Float financeExpenses;//财务费用
	private Float investmentLose;//投资损失
	private Float taxLose;//递延所得税资产减少
	private Float taxIncrease;//递延所得税负债增加
	private Float inventoryDecrease;//存货的减少
	private Float recDecrease;//经营性应收项目的减少
	private Float payIncrease;//经营性应付项目的增加
	private Float otherProfit;//其他
	private Float netFlowOpe2;//经营活动产生的现金流量净额2
	private Float notInvolve;//不涉及现金收支的投资和筹资活动
	private Float debtToCapital;//债务转为资本
	private Float liabOneYear;//一年内到期的可转换公司债券
	private Float financeLease;//融资租入固定资产
	private Float increase;//现金及现金等价物净增加情况
	private Float closeBalanceC;//现金的期末余额
	private Float openBalanceC;//现金的期初余额
	private Float closeBalanceE;//现金等价物的期末余额
	private Float openBalanceE;//现金等价物的期初余额
	private Float netIncrease2;//现金及现金等价物净增加额2
	@Id
	@GeneratedValue
	@Column(name="Cash_id")
	public Integer getId() {
		return id;
	}
	@ManyToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="Ent_id",nullable=false)
	public Enterprise getEnt() {
		return ent;
	}
	@Column(name="Cash_choose_time")
	public Boolean isChooseTime() {
		return chooseTime;
	}
	@Column(name="Cash_year")
	public Integer getYear() {
		return year;
	}
	@Column(name="Cash_month_start")
	public Integer getMonthStart() {
		return monthStart;
	}
	@Column(name="Cash_month_end")
	public Integer getMonthEnd() {
		return monthEnd;
	}
	@Column(name="Cash_type")
	public Integer getType() {
		return type;
	}
	@Column(name="Cash_operating_flow")
	public Float getOperateFlow() {
		return operateFlow;
	}
	@Column(name="Cash_rec_sale")
	public Float getRecSale() {
		return recSale;
	}
	@Column(name="Cash_rec_tax")
	public Float getRecTax() {
		return recTax;
	}
	@Column(name="Cash_rec_other_ope")
	public Float getRecOtherOpe() {
		return recOtherOpe;
	}
	@Column(name="Cash_inflow_ope")
	public Float getInflowOpe() {
		return inflowOpe;
	}
	@Column(name="Cash_pay_goods")
	public Float getPayGoods() {
		return payGoods;
	}
	@Column(name="Cash_pay_employee")
	public Float getPayEmployee() {
		return payEmployee;
	}
	@Column(name="Cash_pay_tax")
	public Float getPayTax() {
		return payTax;
	}
	@Column(name="Cash_pay_other_ope")
	public Float getPayOtherOpe() {
		return payOtherOpe;
	}
	@Column(name="Cash_outflow_ope")
	public Float getOutflowOpe() {
		return outflowOpe;
	}
	@Column(name="Cash_net_flow_ope1")
	public Float getNetFlowOpe1() {
		return netFlowOpe1;
	}
	@Column(name="Cash_investing_flow")
	public Float getInvestFlow() {
		return investFlow;
	}
	@Column(name="Cash_rec_disposal_inv")
	public Float getRecDisposalInv() {
		return recDisposalInv;
	}
	@Column(name="Cash_rec_return_inv")
	public Float getRecReturnInv() {
		return recReturnInv;
	}
	@Column(name="Cash_rec_asset")
	public Float getRecAsset() {
		return recAsset;
	}
	@Column(name="Cash_rec_other_inv")
	public Float getRecOtherInv() {
		return recOtherInv;
	}
	@Column(name="Cash_inflow_inv")
	public Float getInflowInv() {
		return inflowInv;
	}
	@Column(name="Cash_pay_asset")
	public Float getPayAsset() {
		return payAsset;
	}
	@Column(name="Cash_pay_inv")
	public Float getPayInv() {
		return payInv;
	}
	@Column(name="Cash_pay_other_inv")
	public Float getPayOtherInv() {
		return payOtherInv;
	}
	@Column(name="Cash_outflow_inv")
	public Float getOutflowInv() {
		return outflowInv;
	}
	@Column(name="Cash_net_flow_inv")
	public Float getNetFlowInv() {
		return netFlowInv;
	}
	@Column(name="Cash_financing_flow")
	public Float getFinanceFlow() {
		return financeFlow;
	}
	@Column(name="Cash_rec_investing")
	public Float getRecInvest() {
		return recInvest;
	}
	@Column(name="Cash_rec_borrowing")
	public Float getRecBorrow() {
		return recBorrow;
	}
	@Column(name="Cash_rec_other_fin")
	public Float getRecOtherFin() {
		return recOtherFin;
	}
	@Column(name="Cash_inflow_fin")
	public Float getInflowFin() {
		return inflowFin;
	}
	@Column(name="Cash_pay_borrowing")
	public Float getPayBorrow() {
		return payBorrow;
	}
	@Column(name="Cash_pay_profit")
	public Float getPayProfit() {
		return payProfit;
	}
	@Column(name="Cash_pay_other_fin")
	public Float getPayOtherFin() {
		return payOtherFin;
	}
	@Column(name="Cash_outflow_fin")
	public Float getOutflowFin() {
		return outflowFin;
	}
	@Column(name="Cash_net_flow_fin")
	public Float getNetFlowFin() {
		return netFlowFin;
	}
	@Column(name="Cash_echange_affect")
	public Float getEchangeAffect() {
		return echangeAffect;
	}
	@Column(name="Cash_net_increase1")
	public Float getNetIncrease1() {
		return netIncrease1;
	}
	@Column(name="Cash_profit_flow")
	public Float getProfitFlow() {
		return profitFlow;
	}
	@Column(name="Cash_net_profit")
	public Float getNetProfit() {
		return netProfit;
	}
	@Column(name="Cash_asset_impairment")
	public Float getAssetImpair() {
		return assetImpair;
	}
	@Column(name="Cash_depreciation_asset")
	public Float getDepreciationAsset() {
		return depreciationAsset;
	}
	@Column(name="Cash_amortization_intangible")
	public Float getAmortizationIntangible() {
		return amortizationIntangible;
	}
	@Column(name="Cash_amortization_long")
	public Float getAmortizationLong() {
		return amortizationLong;
	}
	@Column(name="Cash_asset_lose")
	public Float getAssetLose() {
		return assetLose;
	}
	@Column(name="Cash_disposal_lose")
	public Float getDisposalLose() {
		return disposalLose;
	}
	@Column(name="Cash_change_lose")
	public Float getChangeLose() {
		return changeLose;
	}
	@Column(name="financial_expenses")
	public Float getFinanceExpenses() {
		return financeExpenses;
	}
	@Column(name="Cash_investment_lose")
	public Float getInvestmentLose() {
		return investmentLose;
	}
	@Column(name="Cash_tax_lose")
	public Float getTaxLose() {
		return taxLose;
	}
	@Column(name="Cash_tax_increase")
	public Float getTaxIncrease() {
		return taxIncrease;
	}
	@Column(name="Cash_inventory_decrease")
	public Float getInventoryDecrease() {
		return inventoryDecrease;
	}
	
	@Column(name="Cash_rec_decrease")
	public Float getRecDecrease() {
		return recDecrease;
	}
	@Column(name="Cash_pay_increase")
	public Float getPayIncrease() {
		return payIncrease;
	}
	@Column(name="Cash_other_profit")
	public Float getOtherProfit() {
		return otherProfit;
	}
	@Column(name="Cash_net_flow_ope2")
	public Float getNetFlowOpe2() {
		return netFlowOpe2;
	}
	@Column(name="Cash_not_involve")
	public Float getNotInvolve() {
		return notInvolve;
	}
	@Column(name="Cash_debt_to_capital")
	public Float getDebtToCapital() {
		return debtToCapital;
	}
	@Column(name="Cash_liability_1year")
	public Float getLiabOneYear() {
		return liabOneYear;
	}
	@Column(name="Cash_financial_leasing")
	public Float getFinanceLease() {
		return financeLease;
	}
	@Column(name="Cash_increase")
	public Float getIncrease() {
		return increase;
	}
	@Column(name="Cash_closing_balance_c")
	public Float getCloseBalanceC() {
		return closeBalanceC;
	}
	@Column(name="Cash_opening_balance_c")
	public Float getOpenBalanceC() {
		return openBalanceC;
	}
	@Column(name="Cash_closing_balance_e")
	public Float getCloseBalanceE() {
		return closeBalanceE;
	}
	@Column(name="Cash_opening_balance_e")
	public Float getOpenBalanceE() {
		return openBalanceE;
	}
	@Column(name="Cash_net_increase2")
	public Float getNetIncrease2() {
		return netIncrease2;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public void setEnt(Enterprise ent) {
		this.ent = ent;
	}
	public void setChooseTime(Boolean chooseTime) {
		this.chooseTime = chooseTime;
	}
	public void setYear(Integer year) {
		this.year = year;
	}
	public void setMonthStart(Integer monthStart) {
		this.monthStart = monthStart;
	}
	public void setMonthEnd(Integer monthEnd) {
		this.monthEnd = monthEnd;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	public void setOperateFlow(Float operateFlow) {
		this.operateFlow = operateFlow;
	}
	public void setRecSale(Float recSale) {
		this.recSale = recSale;
	}
	public void setRecTax(Float recTax) {
		this.recTax = recTax;
	}
	public void setRecOtherOpe(Float recOtherOpe) {
		this.recOtherOpe = recOtherOpe;
	}
	public void setInflowOpe(Float inflowOpe) {
		this.inflowOpe = inflowOpe;
	}
	public void setPayGoods(Float payGoods) {
		this.payGoods = payGoods;
	}
	public void setPayEmployee(Float payEmployee) {
		this.payEmployee = payEmployee;
	}
	public void setPayTax(Float payTax) {
		this.payTax = payTax;
	}
	public void setPayOtherOpe(Float payOtherOpe) {
		this.payOtherOpe = payOtherOpe;
	}
	public void setOutflowOpe(Float outflowOpe) {
		this.outflowOpe = outflowOpe;
	}
	public void setNetFlowOpe1(Float netFlowOpe1) {
		this.netFlowOpe1 = netFlowOpe1;
	}
	public void setInvestFlow(Float investFlow) {
		this.investFlow = investFlow;
	}
	public void setRecDisposalInv(Float recDisposalInv) {
		this.recDisposalInv = recDisposalInv;
	}
	public void setRecReturnInv(Float recReturnInv) {
		this.recReturnInv = recReturnInv;
	}
	public void setRecAsset(Float recAsset) {
		this.recAsset = recAsset;
	}
	public void setRecOtherInv(Float recOtherInv) {
		this.recOtherInv = recOtherInv;
	}
	public void setInflowInv(Float inflowInv) {
		this.inflowInv = inflowInv;
	}
	public void setPayAsset(Float payAsset) {
		this.payAsset = payAsset;
	}
	public void setPayInv(Float payInv) {
		this.payInv = payInv;
	}
	public void setPayOtherInv(Float payOtherInv) {
		this.payOtherInv = payOtherInv;
	}
	public void setOutflowInv(Float outflowInv) {
		this.outflowInv = outflowInv;
	}
	public void setNetFlowInv(Float netFlowInv) {
		this.netFlowInv = netFlowInv;
	}
	public void setFinanceFlow(Float financeFlow) {
		this.financeFlow = financeFlow;
	}
	public void setRecInvest(Float recInvest) {
		this.recInvest = recInvest;
	}
	public void setRecBorrow(Float recBorrow) {
		this.recBorrow = recBorrow;
	}
	public void setRecOtherFin(Float recOtherFin) {
		this.recOtherFin = recOtherFin;
	}
	public void setInflowFin(Float inflowFin) {
		this.inflowFin = inflowFin;
	}
	public void setPayBorrow(Float payBorrow) {
		this.payBorrow = payBorrow;
	}
	public void setPayProfit(Float payProfit) {
		this.payProfit = payProfit;
	}
	public void setPayOtherFin(Float payOtherFin) {
		this.payOtherFin = payOtherFin;
	}
	public void setOutflowFin(Float outflowFin) {
		this.outflowFin = outflowFin;
	}
	public void setNetFlowFin(Float netFlowFin) {
		this.netFlowFin = netFlowFin;
	}
	public void setEchangeAffect(Float echangeAffect) {
		this.echangeAffect = echangeAffect;
	}
	public void setNetIncrease1(Float netIncrease1) {
		this.netIncrease1 = netIncrease1;
	}
	public void setProfitFlow(Float profitFlow) {
		this.profitFlow = profitFlow;
	}
	public void setNetProfit(Float netProfit) {
		this.netProfit = netProfit;
	}
	public void setAssetImpair(Float assetImpair) {
		this.assetImpair = assetImpair;
	}
	public void setDepreciationAsset(Float depreciationAsset) {
		this.depreciationAsset = depreciationAsset;
	}
	public void setAmortizationIntangible(Float amortizationIntangible) {
		this.amortizationIntangible = amortizationIntangible;
	}
	public void setAmortizationLong(Float amortizationLong) {
		this.amortizationLong = amortizationLong;
	}
	public void setAssetLose(Float assetLose) {
		this.assetLose = assetLose;
	}
	public void setDisposalLose(Float disposalLose) {
		this.disposalLose = disposalLose;
	}
	public void setChangeLose(Float changeLose) {
		this.changeLose = changeLose;
	}
	public void setFinanceExpenses(Float financeExpenses) {
		this.financeExpenses = financeExpenses;
	}
	public void setInvestmentLose(Float investmentLose) {
		this.investmentLose = investmentLose;
	}
	public void setTaxLose(Float taxLose) {
		this.taxLose = taxLose;
	}
	public void setTaxIncrease(Float taxIncrease) {
		this.taxIncrease = taxIncrease;
	}
	public void setInventoryDecrease(Float inventoryDecrease) {
		this.inventoryDecrease = inventoryDecrease;
	}
	public void setRecDecrease(Float recDecrease) {
		this.recDecrease = recDecrease;
	}
	public void setPayIncrease(Float payIncrease) {
		this.payIncrease = payIncrease;
	}
	public void setOtherProfit(Float otherProfit) {
		this.otherProfit = otherProfit;
	}
	public void setNetFlowOpe2(Float netFlowOpe2) {
		this.netFlowOpe2 = netFlowOpe2;
	}
	public void setNotInvolve(Float notInvolve) {
		this.notInvolve = notInvolve;
	}
	public void setDebtToCapital(Float debtToCapital) {
		this.debtToCapital = debtToCapital;
	}
	public void setLiabOneYear(Float liabOneYear) {
		this.liabOneYear = liabOneYear;
	}
	public void setFinanceLease(Float financeLease) {
		this.financeLease = financeLease;
	}
	public void setIncrease(Float increase) {
		this.increase = increase;
	}
	public void setCloseBalanceC(Float closeBalanceC) {
		this.closeBalanceC = closeBalanceC;
	}
	public void setOpenBalanceC(Float openBalanceC) {
		this.openBalanceC = openBalanceC;
	}
	public void setCloseBalanceE(Float closeBalanceE) {
		this.closeBalanceE = closeBalanceE;
	}
	public void setOpenBalanceE(Float openBalanceE) {
		this.openBalanceE = openBalanceE;
	}
	public void setNetIncrease2(Float netIncrease2) {
		this.netIncrease2 = netIncrease2;
	}
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "CashFlow [amortizationIntangible=" + amortizationIntangible
				+ ", amortizationLong=" + amortizationLong + ", assetImpair="
				+ assetImpair + ", assetLose=" + assetLose + ", changeLose="
				+ changeLose + ", chooseTime=" + chooseTime
				+ ", closeBalanceC=" + closeBalanceC + ", closeBalanceE="
				+ closeBalanceE + ", debtToCapital=" + debtToCapital
				+ ", depreciationAsset=" + depreciationAsset
				+ ", disposalLose=" + disposalLose + ", echangeAffect="
				+ echangeAffect + ", ent=" + ent + ", financeExpenses="
				+ financeExpenses + ", financeFlow=" + financeFlow
				+ ", financeLease=" + financeLease + ", id=" + id
				+ ", increase=" + increase + ", inflowFin=" + inflowFin
				+ ", inflowInv=" + inflowInv + ", inflowOpe=" + inflowOpe
				+ ", inventoryDecrease=" + inventoryDecrease + ", investFlow="
				+ investFlow + ", investmentLose=" + investmentLose
				+ ", liabOneYear=" + liabOneYear + ", monthEnd=" + monthEnd
				+ ", monthStart=" + monthStart + ", netFlowFin=" + netFlowFin
				+ ", netFlowInv=" + netFlowInv + ", netFlowOpe1=" + netFlowOpe1
				+ ", netFlowOpe2=" + netFlowOpe2 + ", netIncrease1="
				+ netIncrease1 + ", netIncrease2=" + netIncrease2
				+ ", netProfit=" + netProfit + ", notInvolve=" + notInvolve
				+ ", openBalanceC=" + openBalanceC + ", openBalanceE="
				+ openBalanceE + ", operateFlow=" + operateFlow
				+ ", otherProfit=" + otherProfit + ", outflowFin=" + outflowFin
				+ ", outflowInv=" + outflowInv + ", outflowOpe=" + outflowOpe
				+ ", payAsset=" + payAsset + ", payBorrow=" + payBorrow
				+ ", payEmployee=" + payEmployee + ", payGoods=" + payGoods
				+ ", payIncrease=" + payIncrease + ", payInv=" + payInv
				+ ", payOtherFin=" + payOtherFin + ", payOtherInv="
				+ payOtherInv + ", payOtherOpe=" + payOtherOpe + ", payProfit="
				+ payProfit + ", payTax=" + payTax + ", profitFlow="
				+ profitFlow + ", recAsset=" + recAsset + ", recBorrow="
				+ recBorrow + ", recDecrease=" + recDecrease
				+ ", recDisposalInv=" + recDisposalInv + ", recInvest="
				+ recInvest + ", recOtherFin=" + recOtherFin + ", recOtherInv="
				+ recOtherInv + ", recOtherOpe=" + recOtherOpe
				+ ", recReturnInv=" + recReturnInv + ", recSale=" + recSale
				+ ", recTax=" + recTax + ", taxIncrease=" + taxIncrease
				+ ", taxLose=" + taxLose + ", type=" + type + ", year=" + year
				+ "]";
	}
	
	
	
}
